package com.uenpay.oem.data.model;

import com.uenpay.util.net.listener.HttpOnNextListener;
import com.uenpay.util.net.listener.HttpResultListener;

import java.util.HashMap;

/**
 * Author: liulou Date: 2017/6/12. desc: 交易相关
 */

public interface ITransactionModel {

    /**
     * 充值验证码检查
     *
     * @param tradeNo  交易流水号,同企云信交互的流水号
     * @param yzm      短信验证码
     * @param wkPayNo  无卡支付流水号,用于内部调用支卡服务的流水号
     * @param listener
     */
    void checkCode(String tradeNo, String wkPayNo, String yzm, HttpResultListener listener);

    /**
     * 查询充值交易是否成功
     *
     * @param tradeNo  交易流水号
     * @param listener
     */
    void sendQuery(String tradeNo, HttpResultListener listener);


    /**
     * 费率的接口
     */
    void counterFee(String tradeType, HttpResultListener listener);

    /**
     * 提现
     *
     * @param amount         提现金额
     * @param userBankCardId 银行卡主键id
     * @param listener       counterFee 费率
     */
    void withdraw(String amount, String userBankCardId, String counterFee, String payToken, HttpResultListener listener);

    /**
     * 转账
     *
     * @param amount      转账金额
     * @param oprOpenIds  对方用户id
     * @param payPassword 支付密码
     * @param payType     支付类型 1支付宝 2微信 4账户支付 99拓展
     * @param memo        {“bank_id”:111,”remark”:”sdfsdf”}
     * @param listener
     */
    void transfer(String amount, String oprOpenIds, String payPassword, String payType, String memo, HttpOnNextListener<HashMap<String, String>> listener);

}
